package com.ruoyi.common.utils;

import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.core.redis.RedisCache;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;

/**
 *  Redis工具类
 *  @author 胡光伟
 *  @date 2023/9/5 15:05
 */
@Component
@RequiredArgsConstructor
public class RedisUtils {
    private final RedisCache redisCache;
    /**
 * 清除与FMS资金相关的Redis缓存数据
 *
 * 该函数用于批量删除Redis中与FMS资金相关的缓存数据，包括：
 * 1. 普通资金缓存
 * 2. 月度资金统计缓存
 * 3. 周度资金统计缓存
 *
 * 通过调用RedisCache的deleteKeysByPrefix方法，按照指定的前缀批量删除缓存键
 * 主要用于当资金数据发生变更时，确保缓存与数据库数据的一致性
 */
public void extracted() {
    // 删除所有FMS资金基础数据缓存
    redisCache.deleteKeysByPrefix(CacheConstants.FMS_CAPITAL);

    // 删除FMS月度资金统计相关缓存
    redisCache.deleteKeysByPrefix(CacheConstants.FMS_CAPITAL_OF_MONTH);

    // 删除FMS周度资金统计相关缓存
    redisCache.deleteKeysByPrefix(CacheConstants.FMS_CAPITAL_OF_WEEK);
}

    public void deleteKeysByPattern(String s) {
        redisCache.deleteKeysByPrefix(s);
    }
}
